package com.nineclock.system.controller;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.SysCompanyContactConfigDTO;
import com.nineclock.system.service.SysCompanyContactConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("companyContact")
@Api(value = "企业通讯录字段配置管理", tags = "企业通讯录", description = "企业通讯录字段配置管理")
public class SysCompanyContactConfigController {
    @Autowired
    private SysCompanyContactConfigService configService;
    @PostMapping("config")
    @ApiOperation("添加字段")
    public Result addCompanyContactConfig(@RequestBody SysCompanyContactConfigDTO configDTO){
        configService.addCompanyContact(configDTO);
        return Result.success();
    }
    /**
     * 企业通讯录: 查询并初始化
     * Tag ：系统服务
     * 接口路径：GET/sys/companyContact/config
     */
    @GetMapping("config")
    @ApiOperation("查询并初始化")
    public Result<List<SysCompanyContactConfigDTO>> queryCompanyContactConfig(){
        List<SysCompanyContactConfigDTO> configList = configService.queryCompanyContactConfig();
        return Result.success(configList);
    }

    @PutMapping("config/{id}/{status}")
    @ApiOperation("修改通讯录字段状态")
    public Result updateCompanyContactConfigStatus(@PathVariable Long id,@PathVariable Short status){
        configService.updateCompanyContactConfigStatus(id,status);
        return Result.success();
    }

    @DeleteMapping("config/{id}")
    @ApiOperation("删除")
    public Result deleteCompanyContactConfigById(@PathVariable Long id){
        configService.deleteCompanyContactConfigById(id);
        return Result.success();
    }
}
